<?php

abstract class Pipes_Decorator
{
    protected $_decorated = null;
    
    public function __call($method, $parameters)
    {
        return call_user_func_array(
            array($this->_decorated, $method),
            $parameters
        );
    }
    
    public function __get($key)
    {
        return $this->_decorated->$key;
    }
    
    public function __set($key, $value)
    {
        return $this->_decorated->$key = $value;
    }
    
    public function decorated() {
        return $this->_decorated;
    }
}